package com.cx.activiti.listener;

import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;

/**
 * @author Dell
 * @version 1.0
 * @description: 任务监听器
 * @date 2025/11/4 22:00
 */

public class MyTaskListener implements TaskListener {

    @Override
    public void notify(DelegateTask delegateTask) {
        // 校验是否是监控的目标任务
        if(!"创建出差申请".equals(delegateTask.getName())){
            System.out.println("仅支持监控“创建出差申请”任务");
            return;
        }
        // 流转到目的任务事件
        if("assignment".equals(delegateTask.getEventName())){
            System.out.println("监听到该任务参与人名称："+delegateTask.getAssignee());
        }
        // 目的任务实例创建事件
        if("create".equals(delegateTask.getEventName())){
            System.out.println("监听到该任务参与人名称");
            delegateTask.setAssignee("zhangsan");
        }
        // 目的任务实例完成事件
        if("delete".equals(delegateTask.getEventName())){
            System.out.println("监听到该任务执行结束");

        }
    }
}
